Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-FIN-007 |
| Deskripsi | Pemindahan dana dari satu akun kas/bank ke satu atau beberapa akun tujuan (transfer keluar) maupun pencatatan penerimaan dana dari akun lain (terima uang), termasuk mata uang asing dan cetak bukti transfer |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User melihat daftar transfer uang dan terima uang beserta status invoice, lalu memfilternya berdasarkan nomor invoice, rentang tanggal, dan status.
- User membuat Transfer Keluar: memilih tanggal, akun kas/bank asal, lalu satu atau lebih akun tujuan dengan nominal (dan nominal mata uang asing bila akun bermata uang asing).
- User membuat Terima Uang: mencatat dana masuk ke akun kas/bank dari satu atau lebih akun asal.
- User dapat menukar mode transfer keluar dan terima uang pada form.
- Transaksi langsung tersimpan final dan bukti transfer langsung tercetak; kurs mata uang asing diperbarui sesuai nilai transaksi.
- User mengubah transaksi final kembali ke draft, mengubah dan menghapus draft, serta mencetak ulang bukti transfer.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar transaksi dengan mode Transfer Uang dan Terima Uang |
| FR-02 | User dapat memfilter daftar berdasarkan nomor invoice, rentang tanggal, dan status |
| FR-03 | User dapat mentransfer dana dari satu akun kas/bank ke satu atau lebih akun tujuan |
| FR-04 | User dapat mencatat penerimaan dana ke akun kas/bank dari satu atau lebih akun asal |
| FR-05 | Sistem menghitung nominal mata uang asing berdasarkan kurs yang berlaku |
| FR-06 | Sistem menyimpan transaksi langsung sebagai final dan mencetak bukti transfer |
| FR-07 | Sistem memperbarui atau membuat kurs harian bila nilai transaksi berbeda dengan kurs tersimpan |
| FR-08 | User dengan hak draft dapat mengubah transaksi final kembali ke draft |
| FR-09 | User dapat mengubah dan menghapus transaksi draft |
| FR-10 | User dapat mencetak ulang bukti transfer |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan memfilter daftar transfer uang |
| UC-02 | Mentransfer uang keluar ke akun lain |
| UC-03 | Mencatat terima uang dari akun lain |
| UC-04 | Mengubah transfer uang draft |
| UC-05 | Membuka kembali (unlock) transfer uang final ke draft |
| UC-06 | Menghapus transfer uang draft |
| UC-07 | Mencetak ulang bukti transfer uang |
4. Use Case Scenario
UC-01 : Melihat dan memfilter daftar transfer uang
| Aktor | User keuangan |
| Deskripsi | User melihat daftar transfer uang dan terima uang |
| Prekondisi | User sudah login dan memiliki akses halaman Transfer Uang |
| Alur utama | 1. User membuka halaman Transfer Uang. 2. Sistem menampilkan daftar transaksi Transfer Uang dan Terima Uang. 3. User membuka filter dan mengisi nomor invoice, rentang tanggal, atau status. 4. Sistem memuat ulang daftar. |
| Alur negatif | - Jika gagal memuat, daftar tampil kosong. |
| Bisnis rule | - Tanpa hak lihat semua user, daftar hanya memuat transaksi buatan user sendiri. - Transfer Uang memakai data transaksi kas bank dengan mode khusus. |
| Postkondisi | Daftar transfer uang tampil |
| Trigger | User membuka halaman atau mengubah filter |
| Kode FR | FR-01 FR-02 |
UC-02 : Mentransfer uang keluar ke akun lain
| Aktor | User keuangan |
| Deskripsi | User memindahkan dana dari akun kas/bank ke akun tujuan |
| Prekondisi | User memiliki hak dasar Transfer Uang |
| Alur utama | 1. User menekan tambah. 2. User memilih tanggal dan mode Transfer Keluar. 3. User memilih akun kas/bank asal. 4. User menambah baris akun tujuan dan nominal; sistem menghitung nominal mata uang asing bila perlu. 5. Sistem menampilkan total dana yang akan dipindahkan. 6. User menekan simpan dan mengonfirmasi "Simpan Transaksi". 7. Sistem menyimpan transaksi final, mencetak bukti transfer, dan menampilkan "Transfer Uang berhasil dibuat". 8. Sistem memperbarui kurs mata uang asing yang terlibat. |
| Alur negatif | - Jika akun asal atau baris tujuan belum lengkap / nominal kurang dari 1, muncul "Silahkan cek kembali data Anda!". - Jika tanggal kosong, simpan tidak diproses. - Jika user membatalkan konfirmasi, data tidak disimpan. - Jika server menolak, muncul alert error. |
| Bisnis rule | - Akun asal dibatasi rekening kas/bank berawalan 11. - Transaksi selalu disimpan final (tidak ada simpan draft saat membuat). - Mode tersimpan "Transfer Uang". |
| Postkondisi | Transfer uang tersimpan final dan bukti tercetak |
| Trigger | User menekan tambah |
| Kode FR | FR-03 FR-05 FR-06 FR-07 |
UC-03 : Mencatat terima uang dari akun lain
| Aktor | User keuangan |
| Deskripsi | User mencatat dana masuk ke akun kas/bank dari akun lain |
| Prekondisi | User memiliki hak dasar Transfer Uang |
| Alur utama | 1. User menekan tambah dan memilih mode Terima Uang (atau menukar mode). 2. User memilih akun kas/bank penerima. 3. User menambah baris akun asal dan nominal. 4. User menyimpan dan mengonfirmasi. 5. Sistem menyimpan transaksi final dan mencetak bukti. |
| Alur negatif | - Jika data belum lengkap, muncul "Silahkan cek kembali data Anda!". - Jika server menolak, muncul alert error. |
| Bisnis rule | - Mode tersimpan "Terima Uang". - Baris dikirim sebagai cashflow masuk. |
| Postkondisi | Terima uang tersimpan final dan bukti tercetak |
| Trigger | User memilih mode Terima Uang |
| Kode FR | FR-04 FR-05 FR-06 |
UC-04 : Mengubah transfer uang draft
| Aktor | User keuangan |
| Deskripsi | User memperbaiki transfer uang yang sudah dikembalikan ke draft |
| Prekondisi | Transaksi berstatus draft dan user memiliki hak dasar |
| Alur utama | 1. User memilih Edit. 2. Sistem memuat detail transaksi. 3. User mengubah mode, akun, atau baris. 4. User menyimpan dan mengonfirmasi. 5. Sistem menyimpan transaksi sebagai final, mencetak bukti, dan menampilkan "Transfer uang berhasil diupdate". |
| Alur negatif | - Jika transaksi sudah final, muncul "Anda tidak bisa mengedit invoice ini karena sudah final". - Jika data belum lengkap, muncul "Silahkan cek kembali data Anda!". |
| Bisnis rule | - Baris lama yang dihapus dikirim dengan penanda terhapus. - Jika mode berubah, seluruh baris mode lama ikut dihapus. |
| Postkondisi | Transaksi terbarui dan kembali final |
| Trigger | User memilih Edit |
| Kode FR | FR-09 |
UC-05 : Membuka kembali (unlock) transfer uang final ke draft
| Aktor | User keuangan dengan hak draft |
| Deskripsi | User mengembalikan transfer uang final menjadi draft |
| Prekondisi | Transaksi berstatus final |
| Alur utama | 1. User memilih Ubah ke Simpan Draft. 2. Sistem membuka kunci transaksi. 3. Sistem menampilkan "Berhasil Ubah ke Simpan Draft Invoice NOMOR". |
| Alur negatif | - Jika user tidak punya hak, menu tidak muncul. - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Butuh hak global boleh draft dan hak draft Transfer Uang. |
| Postkondisi | Transaksi kembali draft |
| Trigger | User memilih Ubah ke Simpan Draft |
| Kode FR | FR-08 |
UC-06 : Menghapus transfer uang draft
| Aktor | User keuangan dengan hak draft |
| Deskripsi | User menghapus transfer uang draft |
| Prekondisi | Transaksi berstatus draft |
| Alur utama | 1. User memilih Hapus. 2. Sistem menghapus transaksi dan menampilkan "Berhasil hapus Transfer Uang". |
| Alur negatif | - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Menu Hapus butuh hak global boleh draft dan hak draft Transfer Uang. |
| Postkondisi | Transaksi terhapus |
| Trigger | User memilih Hapus |
| Kode FR | FR-09 |
UC-07 : Mencetak ulang bukti transfer uang
| Aktor | User keuangan |
| Deskripsi | User mencetak ulang bukti transfer / terima uang final |
| Prekondisi | Transaksi berstatus final |
| Alur utama | 1. User memilih Print. 2. Sistem menandai transaksi tercetak dan memuat detail. 3. Sistem memuat kop surat dan kurs mata uang. 4. Sistem mencetak bukti dengan nominal dan terbilang. |
| Alur negatif | - Jika penandaan cetak gagal, muncul notifikasi error. - Cetak ulang dibatasi riwayat cetak dan hak reprint. |
| Bisnis rule | - Nominal bukti memakai total keluar untuk Transfer Uang dan total masuk untuk Terima Uang. |
| Postkondisi | Bukti transfer tercetak |
| Trigger | User memilih Print |
| Kode FR | FR-10 |
5. Data Flow Diagram
DFD-01 — Alur data transfer uang
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan memfilter daftar transfer uang
SD-02 — UC-02 : Mentransfer uang keluar ke akun lain
SD-03 — UC-03 : Mencatat terima uang dari akun lain
SD-04 — UC-04 : Mengubah transfer uang draft
SD-05 — UC-05 : Membuka kembali (unlock) transfer uang final ke draft
SD-06 — UC-06 : Menghapus transfer uang draft
SD-07 — UC-07 : Mencetak ulang bukti transfer uang
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /invoice-kasbank-harian | existing | - |
GET /invoice-kasbank-harian/:id | existing | - |
POST /invoice-kasbank-harian | existing | - |
PUT /invoice-kasbank-harian/:id | existing | - |
PUT /invoice-kasbank-harian/invoice-only/:id | existing | - |
PUT /invoice-kasbank-harian/unlock/:id | existing | - |
DELETE /invoice-kasbank-harian/:id | existing | - |
GET /rekening | existing | - |
GET /currency | existing | - |
GET /exchange-rate | existing | - |
POST /exchange-rate | existing | - |
PUT /exchange-rate/:id | existing | - |
GET /kop-surat | existing | - |